return {
  {
    -- 智能注释
    'numToStr/Comment.nvim',
    -- event = { 'BufReadPost', 'BufNewFile' },
    event = { 'CursorHold', 'CursorHoldI' },
    config = require('plugins.config.coding.comment'),
  },

  {
    -- 括号匹配
    'm4xshen/autoclose.nvim',
    event = 'InsertEnter',
    config = require('plugins.config.coding.autoclose'),
  },

  {
    -- 自动补全
    'hrsh7th/nvim-cmp',
    event = { 'InsertEnter', 'CmdlineEnter' },
    config = require('plugins.config.coding.cmp'),
    dependencies = {
      'onsails/lspkind.nvim', -- 补全美化
      'hrsh7th/cmp-buffer',
      'hrsh7th/cmp-path',
      'hrsh7th/cmp-cmdline',
      'hrsh7th/cmp-nvim-lsp',
      'hrsh7th/cmp-nvim-lua',
      'saadparwaiz1/cmp_luasnip',
      'ray-x/cmp-treesitter',
      {
        'L3MON4D3/LuaSnip',
        dependencies = { 'rafamadriz/friendly-snippets' },
        config = require('plugins.config.coding.luasnip'),
      },
    },
  },

  {
    -- 代码分析与高亮
    'nvim-treesitter/nvim-treesitter',
    lazy = false,
    build = ':TSUpdate',
    config = require('plugins.config.coding.nvim-treesitter'),
  },

  {
    -- 大文件支持
    'LunarVim/bigfile.nvim',
    lazy = false,
    config = require('plugins.config.coding.bigfile'),
  },

  {
    -- 向vscode一样显示颜色
    -- :ColorizerAttachToBuffer
    -- :ColorizerDetachFromBuffer
    -- :ColorizerReloadAllBuffers
    -- :ColorizerToggle
    'norcalli/nvim-colorizer.lua',
    event = 'VeryLazy',
    config = function()
      require('colorizer').setup({})
    end,
  },
}
